今天的主題是如何查詢目前期權帳戶的可用餘額,相關的官網教學可以點這個連結。因為我沒有期權帳戶,所以也沒辦法查詢期權帳戶餘額,因此文章裡面的程式碼和ouput的內容都來自於官網的教學。
首先,當然,你要先登入帳戶...
#實際帳戶
import shioaji as sj
api = sj.Shioaji()
api.login(
person_id="你的證券帳戶",
passwd="你的證券密碼",
contracts_cb=lambda security_type: print(f"{repr(security_type)} fetch done.")
)
要查詢期權帳戶的資訊,程式碼如下:
account_margin = api.get_account_margin()
account_margin
程式執行結果如下:
AccountMargin(person_id='PERSON_ID' broker_id='BROKER_ID' account_id='ACC_ID' signed=SIGNED username='USERNAME')
而如果要把期權帳戶資訊直接轉成dataframe的話,程式碼就這樣寫:
df_margin = pd.DataFrame(account_margin.data())
df_margin
這樣你就可以看到期權帳戶的所有資訊了。
OrderPSecurity | ProfitAccCount | FProfit | FMissConProfit | OMissConProfit | ... | Bapamt | Sapamt | Adps | Adamt | Ybaln | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 50000 | 50000 | 0 | 0 | 0 | ... | 0 | 0 | 0 | 0 | 50000 |
get_account_margin()這個function抓出來的資料很多,但最常看的應該還是OrderPSecurity(可動用保證金)和ProfitAccCount(權益總值)了。
除了查詢帳戶餘額,我們也可以查詢帳戶的持有部位及損益,程式碼列在下面供大家參考,詳細的情形可以看Shioaji官網教學。
#查看持有部位
positions = api.get_account_openposition(query_type='1', account=api.futopt_account)
df_positions = pd.DataFrame(positions.data())
df_positions
結果如下:
Account | Code | CodeName | ContractAverPrice | Currency | Date | FlowProfitLoss | MTAMT | OTAMT | OrderBS | OrderNum | OrderType | RealPrice | SettlePrice | SettleProfitLoss | StartSecurity | UpKeepSecurity | Volume | paddingByte | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | FF0020009104000 | TXFA9 | 台指期貨 01 | 9508.41 | NTD | 00000000 | 4.7952e+06 | 6.438e+06 | 8.352e+06 | B | 9784 | 9784 | 4.7952e+06 | 8.352e+06 | 6.438e+06 | 87 |
#查看(已實現)損益
st_date = (date.today() - timedelta(days=60)).strftime('%Y%m%d')
settle_profitloss = api.get_account_settle_profitloss(summary='Y', start_date=st_date)
df_profitloss = pd.DataFrame(settle_profitloss.data())
df_profitloss
結果如下:
account | averagePrice | code | codeName | currency | floatProfitLoss | handCharge | ord_bs | ord_type | ordno | ordno_b | settleAvgPrc | settleDate | settleVolume | tFlag | tdate | tradeProfitLoss | tradeTax | unVolume | volume | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | F0020009104000 | 9900 | TXFK8 | 台指期貨 11 | NTD | 460 | 60 | S | 00 | kY002 | kY003 | 9897 | 20181022 | 1 | 1 | 20181022 | 600 | 80 | 0 | 1 |
以上就是關於查詢期權帳戶餘額的教學,下篇文章的主題是Short stock source。